package vista;
import java.awt.BorderLayout;
import java.awt.event.ActionListener;
import java.util.Vector;

import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextField;

import javax.swing.WindowConstants;
import javax.swing.table.AbstractTableModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.SwingUtilities;


/**
* This code was edited or generated using CloudGarden's Jigloo
* SWT/Swing GUI Builder, which is free for non-commercial
* use. If Jigloo is being used commercially (ie, by a corporation,
* company or business for any purpose whatever) then you
* should purchase a license for each developer using Jigloo.
* Please visit www.cloudgarden.com for details.
* Use of Jigloo implies acceptance of these licensing terms.
* A COMMERCIAL LICENSE HAS NOT BEEN PURCHASED FOR
* THIS MACHINE, SO JIGLOO OR THIS CODE CANNOT BE USED
* LEGALLY FOR ANY CORPORATE OR COMMERCIAL PURPOSE.
*/
public class VentanaProducto extends javax.swing.JFrame {
	private JPanel panProducto;
	private JTextField txtCodigo;
	private JComboBox cmbIngrediente;
	private JLabel lblDetalleProducto;
	private JTextField txtCantidad;
	private JLabel lblCantidad;
	private JComboBox cmbCategoria;
	private JLabel lblIngrediente;
	private JLabel lblAsignar;
	private JScrollPane scpDetalleProducto;
	private JTable tblDetalleProducto;
	private JButton btnSalir;
	private JButton btnCancelar;
	private JButton btnGuardar;
	private JTextField txtPrecio;
	private JLabel lblPrecio;
	private JButton btnRemover;
	private JButton btnAceptar;
	private JButton btnBuscar;
	private JTextField txtDescripcion;
	private JLabel lblDescripcion;
	private JLabel lblCodigo;

	private VentanaDetalleProductoModeloTabla detalleProducto;
	/**
	* Auto-generated main method to display this JFrame
	*/
		
	public VentanaProducto() {
		super();
		initGUI();
	}
	
	private void initGUI() {
		try {
			setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
			setTitle("Registrar Producto");
			{
				panProducto = new JPanel();
				getContentPane().add(panProducto, BorderLayout.CENTER);
				panProducto.setLayout(null);
				panProducto.setBackground(new java.awt.Color(255,255,255));
				{
					lblCodigo = new JLabel();
					panProducto.add(lblCodigo);
					lblCodigo.setText("Codigo");
					lblCodigo.setBounds(42, 27, 78, 19);
					lblCodigo.setForeground(new java.awt.Color(18,6,249));
					lblCodigo.setFont(new java.awt.Font("Comic Sans MS",1,12));
				}
				{
					lblDescripcion = new JLabel();
					panProducto.add(lblDescripcion);
					lblDescripcion.setText("Descripcion");
					lblDescripcion.setBounds(42, 61, 78, 19);
					lblDescripcion.setForeground(new java.awt.Color(18,6,249));
					lblDescripcion.setFont(new java.awt.Font("Comic Sans MS",1,12));
				}
				{
					txtCodigo = new JTextField();
					panProducto.add(txtCodigo);
					txtCodigo.setBounds(115, 26, 147, 21);
				}
				{
					txtDescripcion = new JTextField();
					panProducto.add(txtDescripcion);
					txtDescripcion.setBounds(115, 60, 147, 21);
				}
				{
					btnBuscar = new JButton();
					panProducto.add(btnBuscar);
					btnBuscar.setText("Buscar");
					btnBuscar.setBounds(323, 26, 99, 21);
					btnBuscar.setForeground(new java.awt.Color(252,221,3));
					btnBuscar.setBackground(new java.awt.Color(18,6,249));
				}
				{
					lblAsignar = new JLabel();
					panProducto.add(lblAsignar);
					lblAsignar.setText("Asignar Categoria");
					lblAsignar.setBounds(42, 119, 97, 19);
					lblAsignar.setForeground(new java.awt.Color(18,6,249));
					lblAsignar.setFont(new java.awt.Font("Comic Sans MS",1,12));
				}
				{
					lblIngrediente = new JLabel();
					panProducto.add(lblIngrediente);
					lblIngrediente.setText("Ingrediente");
					lblIngrediente.setBounds(42, 161, 83, 21);
					lblIngrediente.setForeground(new java.awt.Color(18,6,249));
					lblIngrediente.setFont(new java.awt.Font("Comic Sans MS",1,12));
				}
				{
					ComboBoxModel cmbCategoriaModel = 
						new DefaultComboBoxModel();
					cmbCategoria = new JComboBox();
					panProducto.add(cmbCategoria);
					cmbCategoria.setModel(cmbCategoriaModel);
					cmbCategoria.setBounds(151, 118, 111, 21);
				}
				{
					ComboBoxModel cmbIngredienteModel = 
						new DefaultComboBoxModel();
					cmbIngrediente = new JComboBox();
					panProducto.add(cmbIngrediente);
					cmbIngrediente.setModel(cmbIngredienteModel);
					cmbIngrediente.setBounds(151, 161, 111, 21);
				}
				{
					lblCantidad = new JLabel();
					panProducto.add(lblCantidad);
					lblCantidad.setText("Cantidad");
					lblCantidad.setBounds(294, 162, 68, 18);
					lblCantidad.setForeground(new java.awt.Color(18,6,249));
					lblCantidad.setFont(new java.awt.Font("Comic Sans MS",1,12));
				}
				{
					txtCantidad = new JTextField();
					panProducto.add(txtCantidad);
					txtCantidad.setBounds(358, 161, 48, 21);
				}
				{
					lblDetalleProducto = new JLabel();
					panProducto.add(lblDetalleProducto);
					lblDetalleProducto.setText("Detalle Producto");
					lblDetalleProducto.setBounds(273, 203, 122, 23);
					lblDetalleProducto.setForeground(new java.awt.Color(18,6,249));
					lblDetalleProducto.setFont(new java.awt.Font("Comic Sans MS",1,14));
				}
				{
					btnAceptar = new JButton();
					panProducto.add(btnAceptar);
					btnAceptar.setText("Aceptar");
					btnAceptar.setBounds(490, 158, 89, 28);
					btnAceptar.setForeground(new java.awt.Color(252,221,3));
					btnAceptar.setBackground(new java.awt.Color(18,6,249));
				}
				{
					btnRemover = new JButton();
					panProducto.add(btnRemover);
					btnRemover.setText("Remover");
					btnRemover.setBounds(594, 158, 89, 28);
					btnRemover.setForeground(new java.awt.Color(252,221,3));
					btnRemover.setBackground(new java.awt.Color(18,6,249));
				}
				{
					scpDetalleProducto = new JScrollPane();
					panProducto.add(scpDetalleProducto);
					scpDetalleProducto.setBounds(39, 250, 644, 101);
					{
						tblDetalleProducto = new JTable();
						detalleProducto = new VentanaDetalleProductoModeloTabla();
						scpDetalleProducto.setViewportView(tblDetalleProducto);
						tblDetalleProducto.setModel(detalleProducto);
					}
				}
				{
					lblPrecio = new JLabel();
					panProducto.add(lblPrecio);
					lblPrecio.setText("Precio");
					lblPrecio.setBounds(39, 383, 53, 21);
					lblPrecio.setForeground(new java.awt.Color(18,6,249));
					lblPrecio.setFont(new java.awt.Font("Comic Sans MS",1,12));
				}
				{
					txtPrecio = new JTextField();
					panProducto.add(txtPrecio);
					txtPrecio.setBounds(104, 383, 73, 21);
					txtPrecio.setEditable(false);
					txtPrecio.setForeground(new java.awt.Color(255,0,0));
				}
				{
					btnGuardar = new JButton();
					panProducto.add(btnGuardar);
					btnGuardar.setText("Guardar");
					btnGuardar.setBounds(376, 374, 89, 39);
					btnGuardar.setForeground(new java.awt.Color(252,221,3));
					btnGuardar.setBackground(new java.awt.Color(18,6,249));
				}
				{
					btnCancelar = new JButton();
					panProducto.add(btnCancelar);
					btnCancelar.setText("Cancelar");
					btnCancelar.setBounds(486, 374, 89, 39);
					btnCancelar.setForeground(new java.awt.Color(252,221,3));
					btnCancelar.setBackground(new java.awt.Color(18,6,249));
				}
				{
					btnSalir = new JButton();
					panProducto.add(btnSalir);
					btnSalir.setText("Salir");
					btnSalir.setBounds(594, 374, 89, 39);
					btnSalir.setForeground(new java.awt.Color(252,221,3));
					btnSalir.setBackground(new java.awt.Color(18,6,249));
				}
			}
			pack();
			this.setSize(738, 475);
		} catch (Exception e) {
		    //add your error handling code here
			e.printStackTrace();
		}
	}
	
	public void addListener(ActionListener actionlistener){
		this.btnBuscar.addActionListener(actionlistener);
		this.btnAceptar.addActionListener(actionlistener);
		this.btnRemover.addActionListener(actionlistener);
		this.btnGuardar.addActionListener(actionlistener);
		this.btnCancelar.addActionListener(actionlistener);
		this.btnSalir.addActionListener(actionlistener);
	}
	
	public String getCodigo(){
		return this.txtCodigo.getText();
	}
	
	public String getDescripcion(){
		return this.txtDescripcion.getText();
	}
	
	public String getNombreCategoria(){
		return this.cmbCategoria.getSelectedItem().toString();
	}
	
	public String getNombreIngrediente(){
		return this.cmbIngrediente.getSelectedItem().toString();
	}
	
	public String getCantidad(){
		return this.txtCantidad.getText();
	}
	
	public VentanaDetalleProductoModeloTabla getDetalleProducto(){
		return detalleProducto;
	}
	
	public void setDetalleProducto(AbstractTableModel abstractTableModel) {
		tblDetalleProducto.setModel(abstractTableModel);
	}
	
	public void borrarDatos(){
		txtCodigo.setText("");
		txtDescripcion.setText("");
		txtCantidad.setText("");
		txtPrecio.setText("");
		txtCodigo.requestFocus();
		detalleProducto = new VentanaDetalleProductoModeloTabla();
		tblDetalleProducto.setModel(detalleProducto);
	}
	
	public void mostrarMensaje(String mensaje) {
		JOptionPane.showMessageDialog(this, mensaje);
	}

	public void cargarComboCategoria(Vector<String> vector){
		ComboBoxModel cmbCategoriaModel = 
			new DefaultComboBoxModel(vector);
		cmbCategoria.setModel(cmbCategoriaModel);
	}
	
	public void cargarComboIngrediente(Vector<String> vector){
		ComboBoxModel cmbIngredienteModel = 
			new DefaultComboBoxModel(vector);
		cmbIngrediente.setModel(cmbIngredienteModel);
	}
	
	public void setCodigo(){
		this.txtCodigo.setText("");
		this.txtCodigo.requestFocus();
	}
	
	public void setPrecio(String precio){
		txtPrecio.setText(precio);
	}
	
	public String getPrecio(){
		return txtPrecio.getText();
	}
	
	public int seleccionDetalleProducto(){
		return tblDetalleProducto.getSelectedRow();
	}
	
}
